//123456789 * 987654321 = ?
#include <stdio.h>

int main()
{
    int result[100] = {0};
    int num1[9] = {1, 2, 3, 4, 5, 6, 7, 8, 9,};
    int num2[9] = {9, 8, 7, 6, 5, 4, 3, 2, 1};

    for(int i = 0; i < 9; i++)
    {
        for(int j = 0; j < 9; j++)
        {
            result[i + j] += num2[i] * num1[j];
        }
        for(int i = 0; i < 18; i++)
        {
            if(result[i] >= 10)
            {
                result[i + 1] += result[i] / 10;
                result[i] %= 10; 
            }
        }
    }

    int flag = 0;   //标志位（用来进行状态的切换）
    for(int i = 99; i >= 0; i--)
    {
        if(result[i] != 0)   //状态切换的时机 修改标志位
        {
            flag = 1;
        }
        if(flag == 1)   //当状态切换时打印
        {
            printf("%d", result[i]);
        }
    }
    printf("\n");

    return 0;
}